package com.mxw.算法之美.a13字符串;

public class 替换数字 {

    /**
     给定一个字符串 s，它包含小写字母和数字字符，请编写一个函数，将字符串中的字母字符保持不变，而将每个数字字符替换为number。

     例如，对于输入字符串 "a1b2c3"，函数应该将其转换为 "anumberbnumbercnumber"。

     对于输入字符串 "a5b"，函数应该将其转换为 "anumberb"

     输入：一个字符串 s,s 仅包含小写字母和数字字符。

     输出：打印一个新的字符串，其中每个数字字符都被替换为了number

     样例输入：a1b2c3

     样例输出：anumberbnumbercnumber

     数据范围：1 <= s.length < 10000。
     */

    public static void main(String[] args) {
        String s = "a1b2c3";
        int len = s.length();
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) >= 0 && s.charAt(i) <= '9') {
                len += 5;
            }
        }

        char[] ret = new char[len];
        for (int i = 0; i < s.length(); i++) {
            ret[i] = s.charAt(i);
        }

        for (int i = s.length() - 1, j = len - 1; i >= 0; i--) {
            if ('0' <= ret[i] && ret[i] <= '9') {
                ret[j--] = 'r';
                ret[j--] = 'e';
                ret[j--] = 'b';
                ret[j--] = 'm';
                ret[j--] = 'u';
                ret[j--] = 'n';
            } else {
                ret[j--] = ret[i];
            }
        }
        System.out.println(ret);
    }
}
